package com.student.Activitys.activity;

import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.student.Activitys.R;
import com.student.Activitys.activity.base.BaseActivity;
import com.student.Activitys.adapter.PartyMyApplyAdapter;
import com.student.Activitys.adapter.base.BaseRecyleViewAdapter;
import com.student.Activitys.bean.PartyMyApplyBean;
import com.student.Activitys.dialog.PartyMySeeDialog;
import com.odd.Activitys.http.manager.PartyManager;
import com.student.Activitys.utils.Constant;

import org.simple.eventbus.Subscriber;
import org.simple.eventbus.ThreadMode;

import java.util.ArrayList;
import java.util.List;

import butterknife.Bind;

/**
 * 项目名称：智慧校园学生端
 * 类描述：入党申请 查看
 * 创建人：张飞祥
 * 创建时间：2017/10/12 9:14
 * 修改人：张飞祥
 * 修改时间：2017/10/12 9:14
 * 修改备注：
 */
public class PartyApplySeeActivity extends BaseActivity {
    @Bind(R.id.iv_return)
    ImageView ivReturn;
    @Bind(R.id.tv_title)
    TextView tvTitle;
    @Bind(R.id.rv_apply_see_flow)
    RecyclerView rvApplySeeFlow;
    @Bind(R.id.tv_apply_see_title)
    TextView tvApplySeeTitle;

    //初始化网络请求
    public PartyManager mApiManager;

    //初始化 列表 适配器
    private PartyMyApplyAdapter adapter = null;
    //入党申请流程
    private List<String> list = null;
    //实例化 根据网络请求 的 实体对象
    private PartyMyApplyBean party = null;
    //实例化 根据网络请求 的 实体对象
    private List<String> strs = null;

    @Override
    protected void initUI() {
        setContentView(R.layout.act_party_apply_see);
        //网络请求 常驻方法
        mApiManager = mApiManager.getPartyApiManager(PartyApplySeeActivity.this, PartyApplySeeActivity.this.getTaskId());
    }

    @Override
    protected void initData() {
        //设置标题
        tvTitle.setText("入党申请查看");
        //显示返回按钮
        ivReturn.setVisibility(View.VISIBLE);
        /**
         * 装填入党申请流程
         */
        list = new ArrayList<>();
        list.add("第一步：递交申请书");
        list.add("第二步：推优");
        list.add("第三步：确认入党积极分子");
        list.add("第四步：培养教育");
        list.add("第五步：定期考察");
        list.add("第六步：确定发展对象");

        //初始化请求
        initHttp();
        /**
         * 返回按钮监听
         */
        ivReturn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
    }

    @Override
    protected void getNotData() {

    }

    /**
     * 初始化网络请求
     */
    private void initHttp() {
        //设置首次加载 标记
        mApiManager.getType(Constant.FIRST_LOAD);
        //显示dialog
        initShowTimeDialog("正在加载本页面数据，请稍后...",PartyApplySeeActivity.this);
        //获取奖惩列表 网络请求
        mApiManager.partyMyApplyList(Constant.HTTP_SUPPORT_MY_APPLY_ACTION, xh);
    }


    /**
     * 思政 我的入党申请 申请列表 数据 网络请求 加载是否成功
     */
    @Subscriber(tag = Constant.BUS_PARTY_APPLY_MY_ON_COMPLETED, mode = ThreadMode.MAIN)
    public void initSupportMyOnCompleted(String str) {
        //销毁handler
        time_handler.removeCallbacks(time_runnable);
        timeDailog.dismiss();
        dialog.dismiss();
    }

    /**
     * 思政 我的入党申请列表 数据 首次 网络请求 返回具体 数据实体
     */
    @Subscriber(tag = Constant.BUS_PARTY_APPLY_MY, mode = ThreadMode.MAIN)
    public void supportMyList(final PartyMyApplyBean bean) {
        //装填 实例化对象
        party = bean;
        //设置标题
        tvApplySeeTitle.setText(bean.getTitle());
        //填充列表数据
        adapter = new PartyMyApplyAdapter(PartyApplySeeActivity.this, list, bean.getApplyState());
        rvApplySeeFlow.setLayoutManager(new LinearLayoutManager(PartyApplySeeActivity.this, LinearLayoutManager.VERTICAL, false));
        rvApplySeeFlow.setAdapter(adapter);
        //我的入党申请列表 点击事件
        initItemClick();
    }

    /**
     * 思政 我的入党申请列表 item 点击事件
     */
    private void initItemClick() {
        if (adapter != null) {
            adapter.setOnItemClickListener(new BaseRecyleViewAdapter.OnRecyclerViewItemClickListener() {
                @Override
                public void onItemClick(View view, final int position) {
                    PartyMySeeDialog dialog = new PartyMySeeDialog(PartyApplySeeActivity.this) {
                        @Override
                        public void setView(TextView tvPartyMySeeTitle, TextView tvPartyMySeeContent) {
                            //获取内容
                            String  content = party.getStateContentList().get(position);
                            /**
                             * 判断是否为空
                             */
                            if (content==null || content.equals(""))
                                tvPartyMySeeContent.setText("空空如也~");
                            else
                                tvPartyMySeeContent.setText(content);
                        }
                    };
                    if (position!=0)
                        dialog.show();
                }
            });
        }
    }
}
